// miniprogram/pages/editView/morning/replacePoster.js
var requestManager = require('../../../utils/requestManager.js');

Page({

  /**
   * 页面的初始数据
   */
  data: {
    poster: '',
    posterUrl: '', 
    qrCodeUrl: '',
    nextUrl: '',
    posterList:[]
  },

  /////////////// 公有方法 ///////////////
  /** 
   * 将网络请求活动数据转化成UI需要的数据模型数组
   */
  resArrayConverToObjectList: function (resArray, dataArray) {
    let index = dataArray.length
    for (var i = 0; i < resArray.length; i++) {
      let dic = resArray[i]
      var selected = dic['image'] == this.data.poster ? true : false;
      let tDic = {
        'image': dic['image'],
        'imageUrl': dic['image_url'],
        'selected': selected
      }
      dataArray.push(tDic);
    }
  },
  /////////////// 公有方法 ///////////////

  /////////////// 网络请求 ///////////////
  /**
   * 请求海报列表
   */
  requestPosterList: function () {
    var that = this
    requestManager.getRequest('innermost/poster/list', {}, function (res) {
      let status = res.status
      if (status == 0) {
        let array = res.results
        var posterArray = [];
        that.data.nextUrl = res.next
        // 将网络请求活动数据转化成UI需要的数据模型数组
        that.resArrayConverToObjectList(array, posterArray)
        // 更新UI
        that.setData({
          posterList: posterArray
        })
      }
    })
  },

  /**
   * 上拉加载
   */
  requestNextPosterList: function (nextUrl) {
    var that = this
    console.log('nextUrl' + nextUrl)
    let hasff = 'https://wx.extend.xuemei99.com/'
    let next = nextUrl.substring(hasff.length)

    requestManager.getRequest(next, {}, function (res) {
      let status = res.status
      if (status == 0) {
        let array = res.results
        var posterArray = that.data.posterList
        that.data.nextUrl = res.next
        // 将网络请求活动数据转化成UI需要的数据模型数组
        that.resArrayConverToObjectList(array, posterArray)
        // 更新UI
        that.setData({
          posterList: posterArray
        })
      }
    })
  },
  /////////////// 网络请求 //////////////

  /////////////// 事件 ///////////////
  /* 选择海报事件 */
  selectPosterTap: function (event) {
    let currentSelectIndex = event.currentTarget.dataset.index;
    var array = this.data.posterList;
    array.forEach((item, index, arr) => {
      let select = item.selected;
      if (select&&index == currentSelectIndex) {
        // 如果是选的同一张图 取消操作
        var sItem = "posterList[" + index + "].selected";
        this.setData({
          [sItem]: false,
          poster: '',
          posterUrl:''
        })
      }else {
        if (index == currentSelectIndex) {
          var onSelected = "posterList[" + index + "].selected";
          this.setData({
            [onSelected]: true,
            poster: item.image,
            posterUrl: item.imageUrl
          })
        }else {
          var sItem = "posterList[" + index + "].selected";
          this.setData({
            [sItem]: false
          })
        }
      }
    });
  },

  /* 完成按钮 tap事件 */
  completeTap: function (event) {
    // 保存海报名
    wx.setStorageSync('poster', this.data.poster)
    // 保存选择的海报接口
    wx.setStorageSync('posterUrl', this.data.posterUrl)
    wx.navigateBack({
      delta: 1
    })
  },

  /**
   * scroll-view 滚动到右边触发事件
   */
  scrollTolower: function (event) {
    let nextUrl = this.data.nextUrl
    if (nextUrl&&nextUrl.length > 0) {
      this.requestNextPosterList(nextUrl)
    } 
  },
  /////////////// 事件 ///////////////

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    wx.hideShareMenu()//隐藏转发按钮
    // 加载海报
    let tPoster = wx.getStorageSync("poster")
    let tPosterUrl = wx.getStorageSync('posterUrl')
    let tQrCodeUrl = wx.getStorageSync('qrcodeUrl')
    this.setData({
      poster: tPoster,
      posterUrl: tPosterUrl,
      qrCodeUrl: tQrCodeUrl
    })

    // 加载海报背景图片列表
    this.requestPosterList();
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})